package com.t.bricks.bussiness.model.filestorage;

import java.io.File;

/**
 * 文件信息
 */
public class FileInfo {

	/**
	 * 名称
	 */
	private String sName;
	
	/**
	 * 路径
	 */
	private String sPath;
	
	/**
	 * 是否文件夹
	 */
	private int iDirectory;
	
	/**
	 * 最后修改时间
	 */
	private long iLastModified;
	
	/**
	 * 大小(文件时)
	 */
	private long iSize;
	
	/**
	 * 子目录(文件夹时)
	 */
	private FileInfo[] client;
	
	public FileInfo() {
		
	}
	
	public FileInfo(File file) {
		if (null == file) {
			return;
		}
		
		this.sName = file.getName();
		this.iDirectory = file.isDirectory() ? 1 : 0;
		this.iSize = file.length();
		this.setiLastModified(file.lastModified());
		this.sPath = file.getPath();
	}

	/**
	 * 获得 名称
	 * @return sName 名称
	 */
	public String getsName() {
		return sName;
	}

	/**
	 * 设置 名称
	 * @param sName 名称
	 */
	public void setsName(String sName) {
		this.sName = sName;
	}

	/**
	 * 获得 路径
	 * @return sPath 路径
	 */
	public String getsPath() {
		return sPath;
	}

	/**
	 * 设置 路径
	 * @param sPath 路径
	 */
	public void setsPath(String sPath) {
		this.sPath = sPath;
	}

	/**
	 * 获得 是否文件夹
	 * @return iDirectory 是否文件夹
	 */
	public int getiDirectory() {
		return iDirectory;
	}

	/**
	 * 设置 是否文件夹
	 * @param iDirectory 是否文件夹
	 */
	public void setiDirectory(int iDirectory) {
		this.iDirectory = iDirectory;
	}

	/**
	 * 获得 大小(文件时)
	 * @return iSize 大小(文件时)
	 */
	public long getiSize() {
		return iSize;
	}

	/**
	 * 设置 大小(文件时)
	 * @param iSize 大小(文件时)
	 */
	public void setiSize(long iSize) {
		this.iSize = iSize;
	}
	
	/**
	 * 获得 最后修改时间
	 * @return iLastModified 最后修改时间
	 */
	public long getiLastModified() {
		return iLastModified;
	}

	/**
	 * 设置 最后修改时间
	 * @param iLastModified 最后修改时间
	 */
	public void setiLastModified(long iLastModified) {
		this.iLastModified = iLastModified;
	}

	/**
	 * 获得 子目录(文件夹时)
	 * @return client 子目录(文件夹时)
	 */
	public FileInfo[] getClient() {
		return client;
	}

	/**
	 * 设置 子目录(文件夹时)
	 * @param client 子目录(文件夹时)
	 */
	public void setClient(FileInfo[] client) {
		this.client = client;
	}
	
}
